// pages/studentInfo/course/course.js
import {insetCourse} from "../../../api/manage"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    courseNo: "",      // 课程编号，类型为字符串
    courseName: "",    // 课程名称，类型为字符串
    credits: "",       // 课程学分，类型为字符串
    teacherId: "",     // 授课教师工号，类型为字符串
  },

  onInputChange(event) {
    // const field = event.currentTarget.dataset.field; // 获取自定义数据字段
    // const value = event.detail;                     // 获取输入的值

    // this.setData({
    //   [field]: value,                               // 动态更新绑定的值
    // });
    const field = event.currentTarget.dataset.field; // 获取字段名
    const value = event.detail; // 获取输入值
    
    if (field === "credits") {
        // 校验课程学分是否是整数或小数
        if (/^\d+(\.\d*)?$/.test(value) || value === "") {
            // 输入合法，更新数据
            this.setData({
                [field]: value
            });
        } else {
            // 输入不合法，提示错误信息
            wx.showToast({
                title: "输入有误，课程学分只能是整数或小数！",
                icon: "none",
                duration: 2000
            });
            this.setData({
                credits: "" // 重置输入框值
            });
        }
    } else {
        // 不需要限制的字段，直接更新数据
        this.setData({
            [field]: value
        });
    }
  },

 async onSubmit() {
    let { courseNo, courseName, credits, teacherId } = this.data; // 正确获取数据
    // 转换数据类型
    credits = parseFloat(credits); // 转换为浮点数
    console.log(typeof teacherId);
    // teacherId = parseInt(teacherId, 10); 
    let res = await insetCourse(courseNo,courseName,credits,teacherId);
    console.log(res);
    if (res.code === 200) {
      // 清空数据
      this.setData({
        courseNo: "",      // 课程编号，类型为字符串
        courseName: "",    // 课程名称，类型为字符串
        credits: "",       // 课程学分，类型为字符串
        teacherId: "",     // 授课教师工号，类型为字符串
      });
      // 弹出提示框
      wx.showToast({
          title: '录入成功', // 提示内容
          icon: 'success',   // 图标类型
          duration: 2000     // 显示时长
      });
  } else if(res.code ===202){
    wx.showToast({
      title: '教师工号不存在,请重新输入', // 提示内容
      icon: 'none',  // 图标类型
      duration: 2000     // 显示时长
  });
  this.setData({
    teacherId:''
  })
  }else {
      // 处理上传失败的情况
      wx.showToast({
          title: '录入失败',
          icon: 'none',
          duration: 2000
      });
  }
   
    
    // 你可以在这里添加进一步的逻辑，比如提交数据到服务器
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})